package org.jypj.dev.service;

import org.jypj.dev.model.EmergeBook;
import org.jypj.dev.util.Page;

import java.util.List;
import java.util.Map;

public interface EmergeBookService {


    /**
     * 保存
     * 所有字段全都保存
     *
     * @param emergeBook
     * @return
     */
    int saveEmergeBook(EmergeBook emergeBook);

    /**
     * 根据ID删除
     *
     * @param id 主键ID
     * @return 删除记录数
     */
    int deleteEmergeBookById(String id);

    /**
     * 根据对象删除
     *
     * @param emergeBook
     * @return
     */
    int deleteEmergeBookByObject(EmergeBook emergeBook);

    /**
     * 更新
     * 更新所有字段
     *
     * @param emergeBook
     * @return
     */
    int updateEmergeBook(EmergeBook emergeBook);

    /**
     * 移动节点
     * @param id1
     * @param id2
     * @return
     */
    int moveEmergeBook(String id1, String id2);

    /**
     * 按ID查询
     *
     * @return EmergeBook
     * @parm id 主键ID
     */
    EmergeBook selectEmergeBookById(String id);

    /**
     * 分页查询 包含条件
     *
     * @param page 分页对象
     * @param map  查询条件
     * @return List<EmergeBook>
     */
    Page selectOnePageByMap(Page page, Map<String, Object> map);

    /**
     * 分页查询 包含对象条件
     *
     * @param page 分页对象
     * @param map  查询条件
     * @return Page
     */
    Page selectOnePageByEmergeBook(Page page, EmergeBook emergeBook);

    /**
     * 按条件查询全部的
     *
     * @param map 查询条件
     * @return List<EmergeBook>
     */
    List<EmergeBook> selectAllByMap(Map<String, Object> map);


    /**
     * 按条件查询全部的
     *
     * @param emergeBook 查询条件
     * @return List<EmergeBook>
     */
    List<EmergeBook> selectAllByEmergeBook(EmergeBook emergeBook);

    /**
     * 按条件查询单个对象
     *
     * @param map 查询条件
     * @return EmergeBook
     */
    EmergeBook selectObjectByMap(Map<String, Object> map);

    /**
     * 按条件查询单个对象
     *
     * @param emergeBook 查询条件
     * @return EmergeBook
     */
    EmergeBook selectObjectByEmergeBook(EmergeBook emergeBook);

}
